﻿
   Описание некоторых пунктов меню.

 -------------------------------------------------------
     Quick Settings Применение всех настроек батника
 -------------------------------------------------------

 Удобно задать свои предпочтения по автоматическому применению сразу всего.
 Так же в своих батниках, например: "MySettings.bat", "MySettings 2.bat", "MySettings Ноутбук.bat"
 можно задать свои твики, или, например, возвращающие параметры других меню батника Settings,
 так как эти батники выполняются в конце, для того чтобы не править основной батник.

 Если в пресете Quick Settings по сбросу всех настроек указано сбрасывание Групповой Политики,
 то она произойдет после всех операций. А не по списку.
 Сделано так, что бы файлов в системной папке C:\Windows\System32\GroupPolicy не было после сброса всех настроек.
 
 Если батник "Settings" запущен с ключом: /RunQuickSettings, будет выполнен автозапуск быстрых настроек из первого пункта,
 затем остановка, и выход, после нажатия любой клавишы.
 Для закрытия батника после завершения нужно добавить еще один параметр: /QuickExit
 Пример: "D:\AutoSettings\_1__Settings.bat" /RunQuickSettings /QuickExit



 --------------------------------------------------------
    Групповые Политики с использованием LGPO.exe v2.2
 --------------------------------------------------------

 Утилита LGPO.exe настраивает ГП, аналогично ручной настройке в редакторе ГП "gpedit.msc"
 Добавляет параметры к настроенным политикам. Если параметр существует, то заменяет его.
 В некоторых случаях, если указывать удаление параметра, редактор ГП может считать параметр настроенным на "Отключен"
 Это по сути тоже самое, что и "не задан". Что бы заставить считать в таких ситуациях "не заданным",
 надо указывать удаление всех параметров в том разделе.
 Но нужно понимать, что если там есть параметры, которые удалять не надо, то очистку всего раздела делать не нужно!

 Добавлять параметры желательно только в разделы ГП с именем ...\Policies\... и в кусты HKLM и HKCU
 Если добавить в любое другое место кустов HKLM и HKCU, то сбросом ГП эти параметры не убрать.
 Но можно убрать такой параметр и любой другой заданием удаления параметра или очистки всего раздела,
 как это сделано в "Меню восстановления всех настроек Spy и Settings"

 Сценарий переделки команд reg.exe в формат LGPO пропустит все не форматные параметры или кусты.
 Сценарий применения файла LGPO, при ошибке применения скопирует проблемный файл в папку с батником,
 чтобы можно было понять, какой параметр был ошибочный.
 Все действия отображаются, правильные и ошибочные.

 LGPO может удалять только параметры, разделы не может. И очищать все параметры может только в указанном разделе, без вложенности.
 Создавать пустые разделы может. Если настройка ГП через LGPO задана на отключение параметра, а сама ГП удаляет раздел при отключении,
 то такие разделы так же будут удалены, как и при ручной настройке в редакторе ГП. Обычно разделы удаляются, если нет больше ни каких параметров.

 Если для LGPO указать удаление параметра, то такое поведение записывается в файл Registry.pol
 И если через реестр добавить такой параметр, то при обновлении ГП этот параметр будет удален.
 То же самое и в обратную сторону. Чтобы убрать команды удаления параметра или очистки раздела из Registry.pol,
 нужно сбросить все ГП через меню.

 При запуске на системе без ГП, параметры будут применены стандартно напрямую в реестр
 А отдельное меню по настройке ГП будет возвращать в основное меню обратно.

 ----------------------------------------------------
     Управление и выполнение обслуживания системы
 ----------------------------------------------------

 Возможность отключения авто-обслуживания системы и ручного запуска.
 Кого не устраивает частота и сами задания, при обслуживании.
 Не надо отключать ее, если не будет производится ручное обслуживание!

 Оно использует задачи, со скрытыми параметрами "MaintenanceSettings".
 После запрещения обслуживания, нельзя запустить эти задачи и вручную или запустить обслуживание из центра обслуживания.
 Часть задач уже отключаются батником настройки, + часть можно отключить через личные настройки.
 Еще часть отключена изначально и включаются службами по необходимости.

 Выписал весь список задач, использующихся авто-обслуживанием Windows 10.
 Список сделан на основе системы после RepackWIM, на чистой могут быть еще задачи.
 Они выполняются в зависимости от условий, не все каждый раз, но все равно через чур.
 Часто нагружают железо, садят батарею и т.д. ради ~1% быстродействия и сбора ваших данных, MS "заботится" о "вас":

   1: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319" (Проверка образов при загрузке, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
   2: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 64" (Проверка образов при загрузке, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
   3: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 64 Critical" (Перекомпиляция образов, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
   4: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 Critical" (Перекомпиляция образов, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
   5: "Microsoft\Windows\AppID\SmartScreenSpecific" (Сбор данных для SmartScreen и MS)
   6: "Microsoft\Windows\Application Experience\ProgramDataUpdater" (сбор данных для MS, для помощника по совместимости программ)
   7: "Microsoft\Windows\Application Experience\StartupAppTask" (оценка списка автозагрузки и предупреждения)
   8: "Microsoft\Windows\ApplicationData\CleanupTemporaryState" (очистка временных файлов приложений Windows Store)
   9: "Microsoft\Windows\ApplicationData\DsSvcCleanup" (dstokenclean.exe обслуживание общего доступа к данным Windows Store)
  10: "Microsoft\Windows\AppxDeploymentClient\Pre-staged app cleanup" (очистка приложений Windows Store)
  11: "Microsoft\Windows\Chkdsk\ProactiveScan" (Chkdsk, pstask.dll Проверка и устранение проблем с NTFS)
  12: "Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" (сбор данных для MS)
  13: "Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" (сбор данных для MS)
  14: "Microsoft\Windows\Defrag\ScheduledDefrag" (defrag.exe Дефрагментация SSD и HDD, TRIM SSD)
  15: "Microsoft\Windows\Device Setup\Metadata Refresh" (сбор данных для MS, обновление метаданных для устройств)
  16: "Microsoft\Windows\Diagnosis\Scheduled" (sdiagschd.dll Сценарии проверки системы)
  17: "Microsoft\Windows\DiskCleanup\SilentCleanup" (очистка системного диска, при не достатке места и при простое, cleanmgr.exe)
  18: "Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector" (сбор данных для MS)
  19: "Microsoft\Windows\DiskFootprint\Diagnostics" (сбор данных для MS, оценка использования диска)
  20: "Microsoft\Windows\DiskFootprint\StorageSense" (сбор данных для MS, оценка использования диска для Windows Store)
  21: "Microsoft\Windows\ErrorDetails\ErrorDetailsUpdate" (сбор данных для MS)
  22: "Microsoft\Windows\Feedback\Siuf\DmClient" (сбор данных для MS)
  23: "Microsoft\Windows\FileHistory\File History (maintenance mode)" (обслуживание архивации файлов)
  24: "Microsoft\Windows\LanguageComponentsInstaller\Uninstallation" (LanguageComponentsInstaller.dll Удаление лишних языковых возможностей)
  25: "Microsoft\Windows\License Manager\TempSignedLicenseExchange" (проверка лицензий для приложений Windows Store)
  26: "Microsoft\Windows\Maintenance\WinSAT" (измерение быстродействия системы)
  27: "Microsoft\Windows\MemoryDiagnostic\RunFullMemoryDiagnostic" (проверка оперативной памяти)
  28: "Microsoft\Windows\MUI\LPRemove" (lpremove.exe Очистка лишних языков и их параметров)
  29: "Microsoft\Windows\PI\Sqm-Tasks"  (сбор данных для MS, о доверенном платформенном модуле)
  30: "Microsoft\Windows\Plug and Play\Plug and Play Cleanup" (cleanmgr.exe удаление старых не нужных драйверов, входит в очистку диска)
  31: "Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem" (сбор данных для MS, проверка энергопотребления)
  32: "Microsoft\Windows\RecoveryEnvironment\VerifyWinRE" (проверка среды восстановления Windows)
  33: "Microsoft\Windows\Registry\RegIdleBackup" (Архивация реестра)
  34: "Microsoft\Windows\Servicing\StartComponentCleanup" (TiWorker.exe, обслуживание WinSxS, удаление старых обнов и компонентов, входит в очистку диска)
  35: "Microsoft\Windows\SettingSync\BackgroundUploadTask" (Обслуживание синхронизации файлов)
  36: "Microsoft\Windows\SettingSync\BackupTask" (Обслуживание синхронизации файлов)
  37: "Microsoft\Windows\Setup\SetupCleanupTask" (Удаляет файлы предыдущей установки Windows)
  38: "Microsoft\Windows\SharedPC\Account Cleanup" (Очитка старых аккаунтов для удаленного доступа)
  39: "Microsoft\Windows\Shell\IndexerAutomaticMaintenance"  (Обновление поискового индекса)
  40: "Microsoft\Windows\Sysmain\HybridDriveCachePrepopulate" (обслуживание кэша гибридного диска)
  41: "Microsoft\Windows\Sysmain\HybridDriveCacheRebalance" (обслуживание кэша гибридного диска)
  42: "Microsoft\Windows\Sysmain\ResPriStaticDbSync" (сбор данных для MS, синхронизация списка ваших данных)
  43: "Microsoft\Windows\Sysmain\WsSwapAssessmentTask" (сбор данных для MS, Оценка Swapfile.sys для приложений Windows Store)
  44: "Microsoft\Windows\SystemRestore\SR" (srtasks.exe создание точек восстановления)
  45: "Microsoft\Windows\Time Synchronization\SynchronizeTime" (w32tm.exe синхронизация времени)
  46: "Microsoft\Windows\Time Zone\SynchronizeTimeZone" (tzsync.exe, Синхронизация часовых поясов)
  47: "Microsoft\Windows\UpdateOrchestrator\Maintenance Install" (запланированная установка обновлений)
  48: "Microsoft\Windows\WOF\WIM-Hash-Validation" (обслуживание подключенных WIM)

 Большинству пользователей, реально нужных или редко нужных всего несколько:
 Генерация образов NET Framework для программ и компонентов (компиляция образов с машинным кодом к программам, для ускорения их работы).
 Очистка диска от старых обнов, драйверов и временных файлов.
 Синхронизация времени, дефрагментация, TRIM дисков и проверка NTFS.

 Вот эти задачи по группам:
 Быстродействие и настройка (важна или желательна после установки/замены софта, или обновлений системы):
   1: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319" (Проверка образов х86 при загрузке, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
   2: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 64" (Проверка образов х64 при загрузке, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
   3: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 64 Critical" (Перекомпиляция образов х64, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
   4: "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 Critical" (Перекомпиляция образов х86, Mscorsvw.exe, Ngen.exe, NGenTask.exe)
  14: "Microsoft\Windows\Defrag\ScheduledDefrag" (defrag.exe Дефрагментация SSD и HDD + TRIM SSD, есть смысл делать после очистки диска)
  45: "Microsoft\Windows\Time Synchronization\SynchronizeTime" (w32tm.exe синхронизация времени)

 Очистка диска (имеет хоть какой то смысл, не чаще 1 раза в мес, вручную все эти 3 действия делаются через cleanmgr.exe):
  17: "Microsoft\Windows\DiskCleanup\SilentCleanup" (cleanmgr.exe /autoclean /d %systemdrive% - авто-очистка системного диска: временные файлы, обновы, драйвера и т.д.)
  30: "Microsoft\Windows\Plug and Play\Plug and Play Cleanup" (cleanmgr.exe удаление старых не нужных драйверов, входит в очистку диска)
  34: "Microsoft\Windows\Servicing\StartComponentCleanup" (TiWorker.exe, обслуживание WinSxS, удаление старых обнов и компонентов, входит в очистку диска)

 Устранение проблем (обычно проверяют, при проблемах, через свойства диска):
  11: "Microsoft\Windows\Chkdsk\ProactiveScan" (Chkdsk, pstask.dll Проверка и устранение проблем с NTFS)


 Из этого всего в итоге у нас остается, имеющего смысл для быстродействия и при обновлениях, 2 варианта ручных действий:
  Вариант 1: Генерировать образа NET для прог, использующих NET (если были обновы программ или винды, либо новый софт, Критично важное действие!)
  Вариант 2: Обновить систему -> синхронизировать время -> сгенерировать образа! -> очистить диск -> сделать дефрагментацию HDD и/или TRIM SSD.
 Не обязательно даже все делать из 2 варианта, постоянно, важно только NET.

 Зато все время, винда абсолютно не мучает железо, в том числе во время простоя.
 Это не влияет на авто-проверку и ручную установку обновлений, и другие задачи, не входящие в список выше.
 И вы сами выбираете время для этих грузоёмких и долгих операций по обслуживанию.

 Общие возможности использования обновлений и обслуживания:
 Исключить дефрагментацию своих SSD дисков.
 Разделить задачи оптимизации дисков, заменяют общую и будут использоваться обслуживанием системы, если не запрещать.
 Отключить обновления системы и проверку обновлений совсем, а обновлять из папки.
 При желании выбирать время для обновления и важных обслуживаний. Достаточно делать очистку раз в пол года.


 Описание пунктов меню "Обслуживания" в батнике настройки.
 Не все пункты делать обязательно все время, но последовательность имеет смысл соблюдать.
 Например дефргаментацию делать в самом конце, очистку диска делать после обновлений (можно и без обновлений) и т.д.

  1. Меню ручного обновления

     Для использования надо скачать файлы MSU обновлений и закинуть их в папку \Files\Updates, все.

     Самое простое скачать по готовым ссылкам с форума ru-board, там выкладывают ребята.
     Вот например от FFoldz
     http://forum.ru-board.com/topic.cgi?forum=62&topic=30478#14

     Поиск идет в папке \Files\Updates и только файлов .MSU
     По названию windows10.0-kb и разрядности системы
     Выводит список в порядке возрастания номера и в таком же порядке устанавливает.

     Установка происходит после проверки наличия обновления в системе,
     если нету, идет распаковка .MSU в папку с номером обновления
     и установка .cab файла обновления утилитой DISM
     Стандартная процедура, предусмотренная MS, для автономного обслуживания.

     Отключенные службы и задачи обновления системы не мешают такой установке!
     
     Так же добавлена поддержка .cab файлов.
     Понимает и устанавливает: языковые пакеты, NET 3.5 ondemand, обычные KB, драйвер паки .cab
     Названия файлов .cab не важны. Отображает по ним инфу, состояние и подходят ли к системе.


  3. Генерация образов NET Framework (Ngen.exe)

     Создает образа NET, которые были запрошены установленными или измененными
     модерн компонентами системы или программами, использующими NET Framework

     Ускоряет работу таких компонентов. Компонеты используют готовые команды для работы,
     а не генерируют каждый раз их с нуля.
     Не все программы используют NET для работы, и таким генерация не нужна.
     Процедура стандартная, описана на сайте MS.

  4. Очистка системного диска

     Сначала используется команда Dism /Online /Cleanup-Image /StartComponentCleanup,
     для очистки старых обновлений в WinSxS без правила "30 дневной задержки", как у cleanmgr.exe
     Затем стандартная команда: %windir%\system32\cleanmgr.exe /autoclean /d %systemdrive%
     Автоматически удаляет старые обновы, старые драйвера, очищает временные папки и др.

  5. Простая принудительная синхронизация времени. Выполняется запрос,
     а результат установки синхронизированного времени выполняется с задержкой.
     Нужен интернет.

  6. Меню оптимизации дисков

     Определение дисков в системе идет по данным diskpart
     Намеренно исключаются из обработки диски: CD, DVD, Размер менее 1Гб, Диск без назначенных Букв, Скрытые.
     Флешки и RAM-диски дискпарт не отображает, их тоже не будет в готовом списке.

     Включаются в обработку диски "Fat32" и "NTFS", размеры в "MB" и "GB" более 1 Гб, "динамические диски".
     Определение SSD на всех основных контроллерах SATA, кроме динамических дисков, нет возможности.
     Из полученных дисков Выводится результат: тип диска (SSD или HDD), буква диска, объем, файловая система и название, если есть.

     Создаются 2 отдельные переменные, с буквами дисков %HDDdisk% и %SSDdisk%, и на этой основе все строится дальше.

     Раздельные задачи, параметры стандартные:
     Для всех SSD - выполняет только TRIM: %windir%\system32\defrag.exe %SSDdisk% /H /L /U
     Для всех HDD - выполняет дефрагментацию: %windir%\system32\defrag.exe %HDDdisk% /H /O /U

     Задачи будут использоваться обслуживанием системы, если не запрещаете, вместо общей стандартной.
     Либо если в ручную запускате обслужвание системы. Это по желанию.

     Теже самые параметры используются при запуске оптимизации дисков из 4 и 5 пункта



 -------------------------------------------------------------------------------------------
     Перенос личных папок текущего пользователя, в любое другое место по вашему желанию.
 -------------------------------------------------------------------------------------------

 Папки: Videos, Documents, Downloads, Pictures, Music, Desktop
 Для копирования используется robocopy, для надежности и отслеживания результата.

 Батнику не важно, есть ли папка или параметр в реестре, он задает все что нужно сам.
 Удобно, если испортили или удалили папку чем то, или еще что.
 Файл desktop.ini всегда создается с нуля с нужными атрибутами и параметрами по молчанию.
 На папку также устанавливаются атрибуты и параметры безопасности, как в оригинале.
 То есть перенос осуществляется аналогично тому, как если переносить вручную через
 изменение расположения в проводнике.

 Если планируется перенос для нескольких пользователей (аккаунтов),
 необходимо указывать в пути подпапку с именем пользователя, пример: D:\%UserName% или D:\111111\%UserName%
 Можно так и при одном пользователе.



 -------------------------------------------------------------------------------------------
     Перенос папки "temp" текущего пользователя, в любое другое место по вашему желанию.
 -------------------------------------------------------------------------------------------

 И создание символической ссылки, в расположении по умолчанию, которая будет вести по новому пути.
 Ссылка нужна для программ, которые принудительно работают с расположением по умолчанию.
 Все программы надо закрыть, перед переносом!!! Если папка все равно будет заблокирована,
 то, процессы блокирующие папку, будут принудительно закрыты.

 Один минус, если перенести папку на другой раздел диска или диск, то утилита оценки
 быстродействия системы "winsat.exe" не сможет оценить размер диска и не выдаст результат теста!
 При переносе на RAM диск не будет толку от назначения прав по умолчанию (в этом случае не важно)
 Если переносить всем учетным записям, запускайте и переносите повторно под каждой учеткой.

 Можете установить свой путь для переноса в файле "\Files\Presets.txt"




 ------------------------------------------------------------------------------
     Перенос системной папки "temp", в любое другое место по вашему желанию.
 ------------------------------------------------------------------------------

 Аналогично с папкой "temp" текущего пользователя.
 Не указывайте путь назначения одинаковый с "Temp" для пользователей!!!
 Для этого надо править код, да и не советую делать в одну папку!

 Разные папки, так как одна системная, для системных приложений, и для выполнения приложениями с повышенными правами.
 А вторая пользовательская для выполнения под его пониженными или повышенными правами. MS cделало так для безопасности. 
 По этому в батнике при переносе все это учитывается и назначаются везде права, как в оригинале задумано MS.
 И по этому не надо указывать одну папку для этого батника настройки. Батник не рассчитан на указание в одну папку, так как с правами будет проблема.
 Если у вас UAC всегда отключен и один пользователь, то наверно можно сделать и в одну папку, так как права уже ни чего не решают.

 Можете установить свой путь для переноса в файле "\Files\Presets.txt"

 Для указания одной папки, не нарушая изначальных условий MS, можно сделать например так:
 
   Set-User-Temp-Folder ="D:\AllTemp\Temp\"=
 Set-System-Temp-Folder ="D:\AllTemp\TempSys\"=



 ----------------------------------
     Настройка быстрой загрузки
 ----------------------------------

 Быстрая загрузка при выключении устройства использует режим гибернации.
 Она нужна для быстрой загрузки винды и использовавшихся прог,
 но это бывает приводит к различным проблемам,
 в том числе из-за отсутствия перезагрузки.
 Да и если вы используете много грузоёмких прог, то и быстрая загрузка будет медленнее обычной.
 По умолчанию параметр имеет значения = 1 (включена) и гибернации не касается!




 ----------------------------------------
     Настройка пробуждения компьютера
 ----------------------------------------

 Настройка пробуждения компьютера для выполнения авто-обслуживания системы по расписанию.
 Обслуживание - передача собранных данных и отчетов, обновление индексации поиска,
 оптимизация загрузки, очистка cистемного диска и др. Назначена по умолчанию на ночь.
 Если отключить, то дефрагментация, обслуживания файловой системы и др. реально важных действий будут выполняться,
 по необходимости, во время простоя, как обычно.
 Можно отрубить все и делать вручную из меню обслуживания в батнике.




 -----------------------------------------
     Настройка интернет протокола IPv6
 -----------------------------------------

 Если отключить, останется только лупбэк для прог.
 Отключение убирает 99% спама dns серверов и предупреждений в журнале событий
 от DNS Client Events (wpad и др.). Если в журнале событий в разделе предупреждений
 у вас не копятся предупреждения от этого спама, то можете не отключать.
 Если вы не используете IPv6, то отключение не должно вызвать проблем.
 По умолчанию этого параметра нет, но его значение при этом считается = 0 (включено)




 ------------------------------------------------------------------------------------
     Меню блокировки/разблокировки драйверов для нужных устройств по GUID класса.
 ------------------------------------------------------------------------------------

 Это делается для запрета кому-либо установки драйвера указанного устройства.
 Необходимо тем, кто хочет обновлять драйвера к устройствам через Windows update,
 но при обновлении какого-то драйвера приводит к проблеме.

 Что бы не сбивалось, установите в ГП этот параметр на "не задано"!!!
 gpedit.msc -> Конф. пк. -> Адм. Шабл. -> Система -> Установка устр. ->
 -> Ограничения -> Запрет установки устр. с исп. драйверов, соотв. этим классам

 GUID класса для устройств указан в:
 Диспетчер устройств -> Свойства на устройстве -> Сведения -> Свойство...

 Он состоит из 38 символов и имеет формат: {1d345678-e234-sxf4-rte4-12be56h90189}


 Блокировкой установки драйверов по GUID класса из моих батников надо пользоваться
 без одновременного использования блокировки через ГП, так как ГП будет перезаписывать
 при обновлении на свои значения. Установите в ГП на "Не задано" перед использованием.

 Плюс моего варианта в том, что можно указать Имя блокировки! И есть отображение блокировок.
 Имя может состоять из 3 слов максимум, отдельная буква идет за слово. И только английскими буквами.
 Все левые варианты и не правильные вводы фильтруются и проверяются, лишнее убирается или
 предлагается ввести правильно. Сделал максимальную защиту от шаловливых ручонок.


 ------------------------------
     Блокировка .exe файлов
 ------------------------------

 Нужные Файлы для блокировки можно указать в файле \Files\Presets.txt

 Эта возможность официальная, используется для задания параметров или отладки.
 ее также используют некоторые вирусы для своих подстав.
 Мы используем эту возможность в своих целях.
 Все зависит от вашей фантазии, думаю вы поймете, что с этим можно сделать.
 Только сильно не пыжите и сделайте бэкап, а то вдруг не сможете в винду зайти! =)

 Для примера добавил 3 .exe файла, которые находятся в:
   %windir%\System32\Speech\SpeechUX\SpeechUXWiz.exe
   %windir%\Speech\Common\sapisvr.exe
   %windir%\system32\narrator.exe


